home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BUG 1
/
BUGCD1996_0708.ISO
/
pc
/
util
/
minilin
/
minilin.exe
/
USR
/
LIB
/
SETUP
/
SETKEYMA.{_9
< prev
next >
Wrap
Text File
|
1994-03-21
|
2KB
|
82 lines
#!/bin/sh
# Copyright 1993, Patrick Volkerding, Moorhead, MN.
# Use and redistribution covered by the same terms as the "setup" script.
if [ ! -d /usr/lib/kbd/keytables ]; then
dialog --title "Required files are missing" --msgbox "You cannot remap your keyboard until you install the \
package 'keymaps.tgz' on disk A3. It contains the keyboard map files \
required to proceed." 9 40
exit
fi
ls /usr/lib/kbd/keytables/*.gz 1> /dev/null 2> /dev/null
if [ $? = 0 ]; then
SUFFIX=gz
else
SUFFIX=map
fi
cat << EOF > /tmp/keyscript
dialog --title "KEYBOARD MAP SELECTION" --menu "
You may select one of the following keyboard maps.
You may use the UP/DOWN arrow keys to scroll through
the whole list of choices.
" 20 68 9 \\
EOF
for mapname in /usr/lib/kbd/keytables/*.$SUFFIX; do
echo "\"$mapname\" \"\" \\" >> /tmp/keyscript
done
echo "2> /tmp/keymp" >> /tmp/keyscript
echo 'ERROR=$?' >> /tmp/keyscript
echo 'if [ $ERROR = 1 -o $ERROR = 255 ]; then' >> /tmp/keyscript
echo ' exit 1;' >> /tmp/keyscript
echo 'fi' >> /tmp/keyscript
while [ 0 ]; do
sh /tmp/keyscript
if [ $? = 1 ]; then
rm -f /tmp/keymp /tmp/keyscript
exit;
fi
MAPNAME="`cat /tmp/keymp`"
SHORTMAP="`basename $MAPNAME`"
echo "$SHORTMAP" > /tmp/SeTkeymap
rm /tmp/keymp
cp $MAPNAME /tmp
MAPNAME=$SHORTMAP
if [ $SUFFIX = gz ]; then
echo "$SHORTMAP" > /tmp/SeTkeymaz
REALNAME="`gzip -l /tmp/$SHORTMAP | cut -b28- | sed -n '$ p'`"
REALNAME="`basename $REALNAME`"
gzip -df /tmp/$SHORTMAP
echo "$REALNAME" > /tmp/SeTkeymap
MAPNAME=$REALNAME
fi
loadkeys /tmp/$MAPNAME 1> /dev/null 2> /dev/null
while [ 0 ]; do
dialog --title "KEYBOARD TEST" --inputbox \
"\n\
OK, the new map is now installed. You may now test it by typing\n\
anything you want. To quit testing the keyboard, enter [y] on a\n\
line by itself to accept the map and go on, or [n] on a line by\n\
itself to reject the current keyboard map and select a new one. " 13 70 2> /tmp/keytest
if [ $? = 1 ]; then
REPLY="n"
break;
fi
REPLY="`cat /tmp/keytest`"
rm -f /tmp/keytest
if [ "$REPLY" = "n" -o "$REPLY" = "y" ]; then
break;
fi
done
if [ "$REPLY" = "y" ]; then
break;
else
rm -f /tmp/`cat /tmp/SeTkeymap`
rm -f /tmp/SeTkeym*
continue;
fi
done